An integrated circuit (“IC”) comprises a plurality of electronic elements on a semiconducting material (such as silicon dioxide) to form a semiconductor device. The electronic elements may include, e.g., resistors, capacitors, diodes, transistors, etc. The electronic elements of an IC may be interconnected to form more complex electronic elements (such as gates, invertors, multipliers, decoders, arithmetic units, controllers, etc.), which are sometimes referred to as circuit elements. An IC also comprises interconnect elements (wires) that interconnect its electronic elements. The interconnect elements may comprise, for example, metal or polysilicon wiring. An IC also comprises of power elements that provide power and ground to each electronic element of an IC. The power elements may comprise, for example, stripes, rails, and vias that produce a power grid structure. Each electronic element may be electrically coupled/connected to the power grid structure. An IC may include electronic, interconnect, and power elements on multiple layers of semiconductor material.
IC design engineers design IC's by converting logical descriptions of elements of the IC's into geometric representations/descriptions of the elements, referred to as IC layouts. An IC layout may include geometric representations of the electronic elements, each electronic element having one or more signal pins, a power pin, and a ground pin. An IC layout may also include geometric representations of the interconnect elements that couple/connect the signal pins of the electronic elements. An IC layout may further include geometric representations of the power elements that couple/connect the power and ground pins of the electronic elements.
Engineers may use electronic design automation (“EDA”) applications to design IC layouts. EDA applications provide computer-based applications for the various stages/steps required for producing and processing IC layouts, such as applications for designing, analyzing, and/or simulating IC layouts. EDA applications are used to design and produce layouts by using different geometric objects of varying shapes and sizes to represent the different electronic, interconnect, and power elements of the IC. The electronic, interconnect, and power elements as represented and described in the IC layout are later physically created in an IC based on the descriptions in the IC layout. As an IC may include multiple layers, an IC layout may also include descriptions of multiple layers.
After an IC layout is designed and produced, an EDA application may also provide a circuit simulator application for simulating the designed IC layout. The circuit simulator may be used to verify that the IC layout will produce an IC that will operate as intended/designed by the engineers. To perform the simulation, a netlist is first extracted from the IC layout by a netlist extractor application, a process referred to as netlist extraction. Netlist extraction may provide a translation of the IC layout into the electrical circuit (netlist) it is intended to represent. The extracted netlist may then be used for various EDA purposes, including circuit simulation. The circuit simulator may receive the netlist and produce a simulation result. The simulation result may provide predictions of electrical behavior of the IC that is to be eventually manufactured from the IC layout.
As IC elements become increasingly smaller in size, ICs and IC layouts contain an increasingly larger number of elements. Currently, IC layouts may comprise billions of electronic elements, along with the necessary interconnect and power elements for the electronic elements. As such, the processing time required for EDA applications to perform the circuit simulation of current IC layouts have become increasingly longer. For example, the processing time for circuit simulation may require several days or weeks for some IC layouts. Further, the processor and memory requirements for the EDA applications to process the current ICs have also increased, often requiring the highest performance and most expensive computer systems available. As such, there is a need for a more time and resource efficient method for processing current IC layouts.